package com.gaogzhen.mappers;

import com.gaogzhen.domain.Coin;
import com.gaogzhen.dto.CoinDto;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * @author Administrator
 * @date 2022-12-08 17:36
 */
@Mapper(componentModel = "spring")
public interface CoinDtoMapper {
    /**
     * 对象实例
     */

    CoinDtoMapper INSTANCE = Mappers.getMapper(CoinDtoMapper.class);

    /**
     * entity转换为dto
     * @param source    源
     * @return          相应的dto对象
     */
    CoinDto convert2Dto(Coin source);

    /**
     * entity集合转换为dto集合
     * @param source    源
     * @return          相应的dto对象集合
     */
    List<CoinDto> convert2Dto(List<Coin> source);

    /**
     * dto转换为entity
     * @param source    源
     * @return          相应的entity对象
     */
    Coin convert2Entity(CoinDto source);


    /**
     * dto集合转换为entity集合
     * @param source    源
     * @return          相应的entity对象集合
     */
    List<Coin> convert2Entity(List<CoinDto> source);
}
